home *** CD-ROM | disk | FTP | other *** search
- NAME
- GDMail
-
- SYNOPSIS
- GDMail go into mail shell if mail pending
- GDMail Open go into mail shell whether you have mail or not
- GDMail path mail somebody (go directly to mail editor)
- GDMail -f file use a file other than your default mail box
-
- There are other options. To get a complete list of options enter
- 'GDMail ?' at a CLI prompt. GDMail can also be started from a Workbench
- startup BUT if you plan to use MIME or PGP the paths for these must be
- setup correctly. See the applicable sections.
-
- NOTE: The USERNAME and REALNAME enviroment variables override any
- UULIB:Config based enviroment variable.
-
- NOTE: Under 2.0 you may use local USERNAME and REALNAME variables to
- support true multi-user capability.
-
- NOTE: Your signature file default should be UULIB:<username>.signature
- (where <username> is your user name) instead of just UULIB:.signature.
- Similarly your header file should be UULIB:<username>.header
-
-
- DESCRIPTION
-
- GDMail is an Gadtools based mail tool that allows you to view and
- respond to messages in your mail box as well as generate new messages
- from scratch.
-
- When sending and replying to email, what you see from the editor is
- pretty much what you get. If you quit out of the editor without saving,
- the email is aborted. If you save and quit from the editor, GDMail will
- scan the message and figure out who to send it to by extracting
- addresses out of the To:, Cc:, and Bcc: fields. GDMail then runs
- sendmail to actually send the message (which may wind up queueing it via
- UUCP to somewhere else).
-
- You list the primary recipients of the message in the To: field,
- separated by commas. you may continue an address list like this:
-
- To: blah, blah, blah, blah, blah,
- blah, blah, blah, blah, blah,
- Cc:
-
- The Cc: field lists carbon-copy recipients of the message. These are
- people you want to see the message but for which the message is not
- primarily meant for. This can be left blank or deleted.
-
- The Bcc: field lists blind-carbon-copy recipients of the message.
- Specifically, the message gets sent to these people but the Bcc: field
- itself is NOT propogated, so nobody but you knows that the message was
- also sent to these people.
-
- Every message should have a Subject: field, usually a one liner that
- describes the subject of the message. When replying to a message you
- usually keep the original message's Subject: line and prepend an 'Re:'
- to it. Normally you do NOT allow Re:'s to build up.
- I.E. Re: Re: Re: <original subj> is not considered proper.
-
- When Replying to mail the original text of the message is included,
- please prune out as much as you can to decrease redundant bandwidth.
- The original sender most likely has a copy of the original message
- anyway and the idea is to simply provide a soft reminder to jog the
- originator's memory.
-
- A BLANK LINE ALWAYS SEPARATES THE HEADER LIST FROM THE MESSAGE BODY!!!
-
-
- KEYBOARD SHORTCUTS
-
- GDMail offers a variety of keyboard shortcuts; the right Amiga based
- menu short cuts, the button character short cuts and cursor key
- short cuts.
-
- While the other shortcuts are obvious to a practiced Amiga user, the
- cursor shortcuts are not. These commands control both the message list
- at the top of the window and the message display at the bottom of the
- window.
- cursor-up: move message display up one line
- cursor-down: move message display down one line
- control-cursor-up: move message display to top of article
- control-cursor-down: move message display to bottom of article
-
- cursor-right: select next message
- cursor-left: select previous message
-
- ALT-cursor-up: move message list up by one item
- ALT-cursor-down: move message list down by one item
- ALT-control-cursor-up: move message list to top
- ALT-control-cursor-down: move message list to bottom
-
-
- DIRECTORY
-
- GDMail can maintain a directory of user names and addresses. If use_book
- is enabled either by CLI startup option, .dmailrc configuration, or by
- pressing the Shift key when clicking the Send button, the directory or
- "book" will appear just before the editor window opens. If you just want to
- modify the directory, you can use the Modify Directory menu item.
-
- The directory file is $user$.book in the same directory as GDMail. It is
- a line oriented file with each line containing 3 elements, each surrounded
- in double qoutes. In order, the elements are; user name, user mail address
- and user comment. The user comment will have 0x7F characters in place of
- any end of line characters that were generated in the comment gadget.
-
- The directory window contains a text field gadget for maintaining comments
- and information about each name in the directory. This gadget operates
- like a multi-line string gadget and somewhat like an editor. You can cut
- and paste into it and a variety of editing commands are available. For
- more information see the Text Field document.
-
-
- MAIL FILES
-
- GDMail can maintain many mail files. Each mail file can be created by
- the user to represent a person or topic that is frequently seen in the
- users mail. This helps to organize messages so that if you want to
- look up an old message you can more easily find it.
-
- On top of allowing mail messages to be directed to a particular mail file,
- GDMail also allows the user to load any of the mail files as though it
- was a the original (UUMail:$user$ mail file. When loaded the user can
- reply to any messages or perform housekeeping on the mail file, deleting
- those messages that are no longer needed or moving them to permanent
- storage.
-
- I reccomend that you use these features as follows. Create empty files
- in UUMail: that describe either people, projects or topics that you
- commonly discuss. Keep the UUMail:mbox file. When you read new
- messages from UUMail:$user$ that belong in these files, you can
- transfer them. Now if you ever have a question about who said what,
- you can quickly go to that mail file and read the trail of messages.
- Periodically you will want to go to these mail files and either delete
- old messages or move them to permanent long term storage in UUMail:mbox
-
- The gadgets and menus thta control this are two buttons "-->" and a
- cycle gadget and a menu. The buttons control the sending and destination
- mail file for messages; the menus control mail file loading. The "-->"
- button copies the currently selected message to the mail file displayed
- in the cycle gadget. All of the file names that exist in the UUMail:
- directory will appear in the cycle gadget. You can multi-select as many
- messages as you like to be transfered when the "-->" button is pressed.
- The menus actually select which mail file to load and use.
-
- GDMail can't update the list of mail files in the menus or gadget while
- in GDMail. Therefore it doesn't allow creation of new mail files in the
- UUMail: directory. This is a limitation of the GUI handler.
-
- Read messages from your UUMail:$user$ file no longer are automatically
- transferred to your UUMail:mbox file.
-
-
- FILE ATTACHMENTS (UUdecode / UUencode)
-
- GDMail supports mailing and receiving of uuencoded files. If GDMail
- finds the header for a uuencoded file in the message that you are
- currently reading, it will enable the "Decode Files" button. If you
- activate this button, a file containing all uuencoded sections from the
- message will be created and your uudecode program will be executed on it.
- The decoded file(s) will appear in the current directory.
-
- If you wish to send a file or files, this is done by specifying binary or
- ASCII attachments to go with your message. The binary attachments will
- be uuencoded before they are sent.
-
-
- MIME (Multipurpose Internet Mail Extensions) SUPPORT
-
- GDMail supports mailing and receiving of MIME formated messages. If GDMail
- finds a Content-Type header in the message that you are currently reading,
- it will ask what you want to do with it. You can choose to view it or
- ignore it. If you choose to view it, all of the contents will be displayed
- as you have configured your mailcap file.
-
- For this feature to work metamail and its associated utilities must be in
- your path, and the mailcap file must be properly configured. GDMail
- supports MetaMail2.3a for the Amiga, the latest release for Amiga that I
- have seen. Also, due to some limitations in the MetaMail programs, the
- compose functions as specified in the mailcap file are not invoked. Thus
- 8SVX audio and IFF ILBM image types have hardcoded conversions: 8SVXtoUlaw,
- and ILBMtoGIF. Worse yet, the 8SVXtoUlaw program provided will not work
- and an ILBMtoGIF converter is not supplied. In both cases the program must
- accept two arguments: first the name of the source file and second the name
- of the destination file.
-
- To fix a number of problems, I have produced a special version of mailto
- (mailtogd) that MUST be used in place of the metamail mailto. Therefore
- this program must be in the path. I reccommend copying it to the metamail
- bin directory.
-
- If you wish to send a MIME message, this is done by specifying attachments
- to go with your message and activating the MIME button in the MailSend
- window. Make sure the types of the attachments are set correctly. Your
- message and the attachments will be formed into a MIME message.
-
- There are two options that can be applied to the MIME feature of GDMail.
- These options are set in the .dmailrc file. Normally GDMail will not
- use the metamail MIME functions if the Content-Type is text/plain and it
- will always query before invoking metamail. You can set GDMail to treat
- text/plain like any other Content-Type by placing the line
- set text_plain_is_mime TRUE
- in the .dmailrc file. You can also have GDMail automatically skip the
- query before invoking the MIME functions. This line would set this mode.
- set mime_automatic TRUE
- If you do not want either of these options, I recommend that you place
- the following lines in your .dmailrc file.
- set mime_automatic (TRUE)
- set text_plain_is_mime (TRUE)
-
-
- PGP DECRYPTION
-
- If GDMail finds the header for a PGP message or signature in the message
- that you are currently reading, it will ask what you want to do with it.
- You can choose to decrypt it and read it or ignore it. If you choose to
- decrypt it, the PGP program will prompt for the pass phrase (if you have
- one) for your PGP private key.
-
- For this feature to work PGP must be in the path. I've tested GDMail
- with PGP 2.3a.3 .
-
- If you wish to send a PGP encrypted message or signature, currently you
- will have to use the PGPSendMail utility that comes with PGP.
-
-
- APP WINDOW
-
- The Mail Send window (do not confuse this with the larger Mail Read
- window) is an App Window. You may drag and drop any file icons onto
- this window that you wish to have attached to the message that you are
- going to send. Any dropped icons are assumed to be binary files, if they
- are ASCII you can change them as you would any other attachment.
-
-
- RECEIPT REQUEST
-
- Receipt Requests are somewhat like registered mail for paper mail.
- GDMail implements both sides of the Return-Receipt-To: field. By
- selecting the Request Receipt button in the Send window, you can
- request that a receipt be sent to you when the recipient reads the mail
- you sent. But, not all mail readers support this field and many, like
- GDMail, allow the recipient to stop the receipt from being sent.
-
- The path GDMail places in this field will not be correct for all
- situations, and my situation is one of those, so you can expect that
- this is going to be fixed. My node name is stan and my domain name is
- dres.dnd.ca, but the powers that be have determined (they do have their
- reasons) that my mail address is ...@dres.dnd.ca (the node name is
- dropped). GDMail sets the field to be ...@stan.dres.dnd.ca which is
- incorrect.
-
- If you receive mail that contains this field, a requester will appear
- that asks if you want to send the requested receipt.
-
- This method of requesting receipts cannot work with MIME mail currently
- due to the problem with extra fields mentioned in the MIME section.
-
-
- AUTOMATIC NEW MAIL HANDLING
-
- GDMail supports automatic handling of mail that arrives while the GDMail
- MailRead window is displayed, it will be automatically incorporated into
- the GDMail message list. This is done by setting a file notification on
- your UUMAIL:$user$ file which alerts GDMail of any size changes.
-
- Some filesystems (NFS, CDROM and some others) do not or cannot handle
- file notification. If this is the case with the filesystem of the
- device where UUMAIL: is assigned, then GDMail will not be able to set
- the notification and this feature will not function.
-
-
- OTHER FEATURES
-
- One other small feature should probably be mentioned. When printing
- messages containing uuencoded files, the uuencoded data will be removed
- for the print out. A notice will appear in its place.
-
-
- ADDRESSES
-
- GDMail attempts to pick the proper return path when you reply to a
- message and place that path into the To: field for you.
-
- GDMail does not always get it right. Sometimes it is not possible to
- get it right. Generally, bang (!) only paths are safe. A bang path
- lists the machines the message to reach through with the last field
- being the user on the destination machine. For example:
-
- To: fubar!uunet.uu.net!overload!dillon
-
- Assuming Matt Dillon talks UUCP to fubar directly, my message will be
- sent first to the machine fubar, then the machine uunet, then the user
- 'dillon' on overload.
-
- When at all possible finding a fully domained machine in a path makes
- email all the more reliable. For example,
-
- To: uunet.uu.net!overload!dillon
-
- This is the path to Matt Dillons Amiga. Note that the first element in
- the path is a fully domain'd machine (an address with dots in it). If
- your Amiga talks to a machine that understands domains (say you connect
- to a university machine), and assuming you set your 'DefaultNode' entry
- in UULIB:Config to this machine, a message addressed as above will get
- to Matt Dillon.
-
-
- BADLY FORMED ADDRESSES
-
- Unfortunately, USENET and INTERNET addresses do not mix well. On the
- INTERNET an address like this:
-
- a!b!user@foo.com maps to foo.com!a!b!user
-
- Whereas the same address in USENET format:
-
- a!b!user@foo.com maps to a!b!foo.com!user
-
- If confusion occurs, your best bet is to look at the 'Received:' fields
- in the mail header (the HEADER command in GDMail, but read the online
- help for the HEADER command before using it). These fields tell you
- exactly which machines the message got routed through and the order in
- which it was routed. Try your best to construct a bang (!) only path
- to the destination.
-
- Sending mail directly to an arbitrary address usually doesn't work
- unless it is fully domained. For example, mail to fnf@fishpond.UUCP
- (Fred Fish) will fail utterly unless the machine you connect to has a
- smart mailer and runs the UUCP Pathalias. On the otherhand, using the
- path:
-
- <adjacent-big-machine>!cs.utexas.edu!asuvax!mcdphx!estinc!fnf
-
- will work assuming <adjacent-big-machine> understands domains. P.S. if
- your DefaultNode entry in your UULIB:Config file is set properly and
- assuming the later about your connection to the outside world, you can
- just email directly through an arbitrary domained name:
-
- cs.utexas.edu!asuvax!mcdphx!estinc!fnf
-
- Of course, if you have UUCP setup in a small network between a few
- friends and none of you have access to a major USENET node then you
- cannot email outside your little group.
-
- Refer to the Domains manual page for information on using the
- UULIB:Domain file to simplify addressing and to automatically route
- email.
-
-
- ENVIROMENT VARIABLES
-
- USERNAME user name to use, else uses UserName config entry
- REALNAME real name to use, else uses RealName config entry
-
- Note that under 2.0 local variables may be used and will overide both
- enviroment variables and config entries.
-
-
- .DMAILRC
-
- Due to its similarities and heritage, GDMail also uses the Dmail
- .dmailrc file in uulib:. It can be modified to configure GDMail to
- operate the way that you like. This is done by setting the value
- of internal variables.
- Set <variable name> <value string>
- The specified variable is set to the specified string.
-
- There are several reserved variables, which define options in GDMail.
- Changing these will modify the option:
-
- sendmail set the path/file to the sendmail program
- verbose reflects verbose option to sendmail
- headfile header file containing additional mail headers
- sigfile signature file post pended to messages you send
- archive file to archive any mail you send out in.
- _headchar string used to precede included text, default ">"
- replyfields fields to search to find the reply path
- mime_automatic when TRUE do not ask before decoding MIME
- text_plain_is_mime when TRUE text/plain MIME messages are to be fed to
- the MIME handler too.
- uuencode set the path/file and options to the uuencoder program
- uudecode set the path/file and options to the uudecoder program
- view_by_name when TRUE mail messages are displayed with the senders
- name rather than the senders email address.
- uufile DO NOT SET THIS VARIABLE
-
-
- sendmail
-
- This variable will redirect GDMail as to where the mailer program
- is. The mailer program must be compatible with /usr/lib/sendmail
- which is the default used if the 'sendmail' variable isn't set
- to anything:
- set sendmail bin/mysendmail
-
-
- verbose
-
- This variable, when set, causes the -v flag to be sent to
- sendmail. In addition, GDMail will wait for sendmail to complete
- before returning your prompt.
-
-
- headfile
-
- The headfile variable, if it exists, causes GDMail to include headers
- found in the specified file into any mail you send out (it shows up in
- the editor). The file specified by this variable will be appended to
- the header list for your outgoing mail messages and generally contains
- only headers such as 'Reply-To: <your return address>'
-
- Generally this is set in your .dmailrc as follows:
- set headfile $user$.header
-
-
- sigfile
-
- The sigfile variable, if it exists, causes GDMail to post-pend the
- contents of the specified file in any mail you send out (it does NOT
- show up in the editor). The file specified by this variable will be
- appended to the temporary file that is passed to the sendmail program
- following any included files.
-
- Generally this is set in your .dmailrc as follows:
- set sigfile $user$.signature
-
-
- archive
-
- If set (to a file name), any mail you send out (mail/reply/etc...)
- will be archived to this file. Usually, you provide a fully
- specified path so cd's won't affect the file location.
- If the archive variable is set to a file path/name, any mail you send
- out will automatically be appended to that file. GDMail pre-pends a
- "From ", so it is compatible with /bin/mail and so that you can
- GDMail -f your archive file. Additionaly, a "Date: " field is
- pre-pended so you know when you sent the message. example:
- set archive ~/GDMail/arch
- since your .dmailrc is sourced even when you "GDMail user .." from your
- shell, putting the above line in your .dmailrc will turn on archiving
- whenever you use GDMail to send mail.
-
- If unset or set to nothing, no archive is made.
-
-
- _headchar
-
- This string is prepended to any included text when you do an upper-case
- reply (R) command.
-
-
- replyfields
-
- This string holds a list of fields which are searched for to
- determine which one to use in the To: field of your reply. If
- this variable does not exist or none of the specified fields could
- be found, the 'From ' (not From:) mail header will be used. The
- search ends at the first field found. Example:
- set replyfields "Reply-To: From:"
-
-
- uuencode / uudecode
-
- These two variables specify the instructions that must be executed to
- uuencode and uudecode files. Another variable "uufile" is available to
- indicate where the filename goes in the uuencode instruction. I use UUxT,
- which operates like an archiver, so these lines in my .dmailrc file look
- as shown below.
-
- set uuencode "hd1:pd/uuxt/uuxt a t:gd_tmp $uufile$"
- set uudecode "hd1:pd/uuxt/uuxt x t:gd_tmp"
-
- Note that the resulting file from a uuencode must be be called t:gd_tmp.
- Note also that uudecode does not require a filename since this
- information is part of the uuencoded file.
-
-
- ILBMtoGIF
-
- This variable specifies the instruction that must be executed to convert
- an ILBM file into a GIF file before it can be sent as a MIME message.
- Another variable "uufile" is available to indicate where the filename
- goes in the ILBMtoGIF instruction. I use ILBMtoGIF, which takes a source
- argument then a destination argument, so this line in my .dmailrc file
- looks as shown below.
-
- set ILBMtoGIF "hd1:pd/metamail/bin/ILBMtoGIF $uufile$ t:gd_tmp"
-
- Note that the resulting file from a conversion must be be called t:gd_tmp.
-
- If this variable is not defined, the command "ILBMtoGIF $uufile$ t:gd_tmp"
- will be executed.
-
-
- 8SVXtoUlaw
-
- This variable specifies the instruction that must be executed to convert
- an 8SVX file into a Ulaw file before it can be sent as a MIME message.
- Another variable "uufile" is available to indicate where the filename
- goes in the 8SVXtoUlaw instruction. I use 8SVXtoUlaw, which takes a source
- argument then a destination argument, so this line in my .dmailrc file
- looks as shown below.
-
- set 8SVXtoUlaw "hd1:pd/metamail/bin/8SVXtoUlaw $uufile$ t:gd_tmp"
-
- Note that the resulting file from a conversion must be be called t:gd_tmp.
-
- If this variable is not defined, the command "8SVXtoUlaw $uufile$ t:gd_tmp"
- will be executed.
-
-
- uufile
-
- The uufile variable is very special and must not be set by the user.
- Just before certain external (.dmailrc configurable) programs are
- called, GDMail sets this variable to the name of the file the program is
- to operate on. In this way the name of the file will be substituted
- into the .dmailrc variable. See uuencode / uudecode, ILBMtoGIF and
- 8SVXtoUlaw.
-
-
- view_by_name
-
- It is possible to choose how names are displayed in the mail messages
- list. The view_by_name variable, if set TRUE, tries to display the
- senders full name rather than the senders address. If the users name is
- part of the From: header line in any of the approved formats, it will be
- used in the list, otherwise the senders address will be used. The
- boolean variable that enables this feature is set as shown
- set view_by_name TRUE
- To turn off this feature, I recommend the the line
- set view_by_name (TRUE)
- rather than cutting the line from the .dmailrc file.
-
-
- DEFAULT CONDITIONS
- Home directory gotten from password entry
- User gotten from password entry
- Visual editor gotten from EDITOR default set to "dme"
-
- READ file is UUMail:$USER
- WRITE file is UUMail:mbox
- From:, To:, and Subject: fields will be loaded into memory.
-
- USER enviroment variable becomes user name
-
-
- EDITOR
-
- The editor used by GDMail is obtained in this order from the MAILEDITOR
- enviroment variable if it exists, the EDITOR environment variable if it
- exists, the Config file MAILEDITOR entry or failing that the editor "dme"
- is invoked.
-
- The editor should not separate from the shell. Most editors do that to
- free the shell for other use, but most have an option to stop this. If
- it does separate from the shell you wil see the Send window come up on
- top of the editor window rather than waiting for you to close the editor.
-
-
- BUGS
-
- If you use GDMail to send mail to yourself directly (via To:, Cc: or
- Bcc:) such that your sendmail writes directly into your UUMAIL:$username$
- file rather than mailing it to another host, this file may become
- corrupted since GDMail is still using the file for its mail reading
- operation.
-
-
- FUTURE
-
- I may integrate PGP mail send into GDMail rather than relying on the
- PGP sendmail, although to do so sounds like work without benefit.
-
- If there are other features that you think GDMail needs, let me know.
-
-
- SPECIAL THANKS
-
- Special thanks go to Alan Kramer for beta testing GDMail. He is a tireless
- nit-picking bug finder and GDMail is better for it.
-
- Special thanks also go to Mark Thomas for his excellent Text Field BOOPSI
- gadget.
-
-
- CONTACT
-
- If you have problems or suggestions for improvements, in order of
- preference, I can be reached at;
-
- sburton@dres.dnd.ca
- sburton@mhaug.uumh.ab.ca
- sburton@bix.com
-
- Stan Burton
- 1978 26 St. SE
- Medicine Hat, AB
- T1A 2G8
-
- (403) 526-6505 (evenings)
-
-
- OPTIONS
-
- GDMail supports ReadArgs scanning of command line options. It also
- supports most of the original dmail -<char> style options as well as
- Amiga keyword style options. The dmail options not supported are (-O
- and -F) since ReadArgs is not case sensitive, these would clash with
- the more commonly used lower case options.
-
- Open
- Go into interactive mode, even if there is no
- mail to read.
-
- Spool | -f [from file] Specify spool file to get mail from. If no file
- Argument is given, UUMail:.mbox is used.
-
- Output | -o [to file] Specify file to write to, If no Argument
- is given, UUMail:.mbox is used. Note that
- the default without -o is UUMail:mbox
-
- Field Append this field to those which will be
- used on initial load. If, during usage of the
- program you specify a field which is not in
- memory, GDMail will be forced to re-load the
- entire spool file, which can take a long time
- if you have more than 64K in the file
-
- rcFile | -l <rcfile> Use this file as the rc file rather than .dmailrc
-
- rcNone Do not source the rc file on boot
-
- Verbose | -v
-
- Debug Turn on debugging information
-